abstract class example in java